package com.fowo.api.model.purchase.plans;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 采购计划 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class PurchasePlansImportPo {

  /** 创建批次号 */
  @ExcelProperty("创建批次号")
  private String ppgSn;

  /** 计划采购量 */
  @ExcelProperty("计划采购量")
  private String quantityPlan;

  /** 批次备注 */
  @ExcelProperty("批次备注")
  @Size(max = 50, message = "批次备注长度不能超过50")
  private String remark;

  /** 全部国家 */
  @ExcelProperty("全部国家")
  @Size(max = 50, message = "全部国家长度不能超过50")
  private String countryName;

  @ExcelIgnore
  @Schema(title = "全部国家")
  private String country;

  /** 全部店铺 */
  @ExcelProperty("全部店铺")
  @Size(max = 50, message = "全部店铺长度不能超过50")
  private String shopShopName;

  @ExcelIgnore
  @Schema(title = "全部店铺")
  private String shop;

  /** 供应商 */
  @ExcelProperty("供应商")
  @Size(max = 50, message = "供应商长度不能超过50")
  private String supplySupplierName;

  @ExcelIgnore
  @Schema(title = "供应商")
  private String supply;

  /** 加急 */
  @ExcelProperty("加急")
  private String urgent;

  /** 关联加工计划 */
  @ExcelProperty("关联加工计划")
  private String manPlan;

  /** 产品类型 */
  @ExcelProperty("产品类型")
  private String proType;

  /** 状态 */
  @ExcelProperty("状态")
  @EnumsString(
    value = { "待采购", "已完成", "已驳回", "已作废", "待审批", "待提交" },
    message = "状态只能是“待采购”, “已完成”, “已驳回”, “已作废”, “待审批”, “待提交”中的一个"
  )
  private String status;

  /** 已采购数量 */
  @ExcelProperty("已采购数量")
  @LongString(message = "已采购数量数值格式不正确", label = "已采购数量")
  private String quantityPurchased;

  /** 创建人 */
  @ExcelProperty("创建人")
  @Size(max = 50, message = "创建人长度不能超过50")
  private String createNameName;

  @ExcelIgnore
  @Schema(title = "创建人")
  private String createName;

  /** 创建人 */
  @ExcelProperty("创建人")
  @Size(max = 50, message = "创建人长度不能超过50")
  private String createName2;

  /** 采购仓库 */
  @ExcelProperty("采购仓库")
  private String purchaseWarePurchaseOrderCode;

  @ExcelIgnore
  @Schema(title = "采购仓库")
  private String purchaseWare;
}
